package dao

import (
	"blackgo/utils"
	"database/sql"
	"fmt"
	"log"

	_ "github.com/go-sql-driver/mysql"
)

type DbWorker struct {
	Db *sql.DB
}

func (dbw *DbWorker) MysqlConnect() {
	c, err := utils.GetMysqlConfig()
	if err != nil {
		log.Fatalf("get mysql config err :#%v", err)
	}

	auth := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s",
		c.User,
		c.Password,
		c.Host,
		c.Port,
		c.Database,
		c.Charset)

	dbw.Db, err = sql.Open(c.Type, auth)
	if err != nil {
		panic(err)
	}
	// 设置最大打开的连接数
	dbw.Db.SetMaxOpenConns(30)
	// 设置最大闲置连接数
	dbw.Db.SetMaxIdleConns(1)
	if err = dbw.Db.Ping(); err != nil {
		panic(err)
	}
}
